package aboutDependency.demo1.fixloop;
/**
 * 循环依赖解决方案(续)
 * ClassA 和 ClassB 不再在构造函数中创建对方的实例，而是通过 setter 方法将依赖关系注入。
 * 这样一来，对象的初始化就不需要依赖于对方了，从而避免了循环依赖的问题。
 * 需要注意的是，虽然这种方式可以解决循环依赖的问题，但它并不是最优的解决方案。
 * 在实际开发中，我们应该尽量避免出现循环依赖，而不是通过 setter 方法等手段来处理。
 */
public class FixDependencyLoopClassB {
    private FixDependencyLoopClassA a;
    //变成无参构造

    //通过 setter 方法将依赖关系解耦。
    public void setA(FixDependencyLoopClassA a) {
        this.a = a;
    }

    public void doSomething() {
        // do something with a
    }
}
